package com.example.crm.entity;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 仪表盘数据实体类（非数据库表映射）
 */
@Data
public class Dashboard {
    
    /**
     * 客户总数
     */
    private Long totalCustomers;
    
    /**
     * 本月新增客户数
     */
    private Long newCustomersThisMonth;
    
    /**
     * 销售机会总数
     */
    private Long totalOpportunities;
    
    /**
     * 销售机会总金额
     */
    private BigDecimal totalOpportunityAmount;
    
    /**
     * 本月销售机会数
     */
    private Long newOpportunitiesThisMonth;
    
    /**
     * 本月销售机会金额
     */
    private BigDecimal newOpportunityAmountThisMonth;
    
    /**
     * 合同总数
     */
    private Long totalContracts;
    
    /**
     * 合同总金额
     */
    private BigDecimal totalContractAmount;
    
    /**
     * 本月新签合同数
     */
    private Long newContractsThisMonth;
    
    /**
     * 本月新签合同金额
     */
    private BigDecimal newContractAmountThisMonth;
    
    /**
     * 销售漏斗数据（各阶段销售机会）
     * Map<阶段名称, 数量>
     */
    private Map<String, Long> salesFunnel;
    
    /**
     * 销售趋势数据（近6个月销售额）
     * Map<月份, 金额>
     */
    private Map<String, BigDecimal> salesTrend;
    
    /**
     * 客户分类统计
     * Map<分类名称, 数量>
     */
    private Map<String, Long> customerByCategory;
    
    /**
     * 最近活动
     */
    private List<FollowUp> recentActivities;
    
    /**
     * 待办任务
     */
    private List<Map<String, Object>> todoList;
} 